package cn.bearspark.currency.provider.service;

import cn.bearspark.currency.dto.CurrencyBaseInfoDTO;

/**
 * 货币模块服务的接口
 *
 * @author f
 */
public interface CurrencyService {

    /**
     * 查询指定用户的货币基础信息
     *
     * @param userId 用户 id
     * @return 指定用户的货币基础信息
     */
    CurrencyBaseInfoDTO getBaseInfo(long userId);

    /**
     * 初始化指定用户的货币信息
     *
     * @param userId 指定的用户 id
     */
    void initCurrency(long userId);

    /**
     * 扣减指定用户的功德
     *
     * @param userId 指定的用户 id
     * @return 如果指定用户的功德不足，则会返回 false；否则返回 true
     */
    boolean deductMerit(long userId);
}
